package net.servir.capacidades.service.impl;

import java.util.LinkedList;
import java.util.List;

import net.servir.capacidades.dao.CapacidadesDAO;
import net.servir.capacidades.model.BancoPregunta;
import net.servir.capacidades.model.CorreoMasivo;
import net.servir.capacidades.model.CorreoRegular;
import net.servir.capacidades.model.Ejecutora;
import net.servir.capacidades.model.ExmPerfil;
import net.servir.capacidades.model.GenOption;
import net.servir.capacidades.model.ParticipanteBusqueda;
import net.servir.capacidades.model.Pliego;
import net.servir.capacidades.model.ResponsableBusqueda;
import net.servir.capacidades.model.RptResponsableBusqueda;
import net.servir.capacidades.model.Sector;
import net.servir.capacidades.model.ServicioCivilBusqueda;
import net.servir.capacidades.model.Sistema;
import net.servir.capacidades.model.Test;
import net.servir.capacidades.model.jsp.JspResponsableEdicion;
import net.servir.capacidades.service.CensoService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class CensoServiceImpl implements CensoService{

	@Autowired
	private CapacidadesDAO capacidadesDAO;
	
	public LinkedList<GenOption> ObtenerModalidadesResponsables() {
		return capacidadesDAO.ObtenerModalidadesResponsables();
	}
	
	public void grabarHabilitacion(JspResponsableEdicion obj) {
		capacidadesDAO.grabarHabilitacion(obj);
	}

	public void grabarDesasignacion(JspResponsableEdicion obj) {
		capacidadesDAO.grabarDesasignacion(obj);
	}

	public void finalizarInscripcionParticipantes(JspResponsableEdicion obj) {
		capacidadesDAO.finalizarInscripcionParticipantes(obj);
	}

	public LinkedList<Pliego> obtenerPliegos(Integer idSector) {
		return capacidadesDAO.obtenerPliegos(idSector);
	}

	public Integer grabarEjecutora(Ejecutora ejecutora) {
		return capacidadesDAO.grabarEjecutora(ejecutora);
	}
	public String obtenerRptQueryResponsables(ResponsableBusqueda obj)
	{
		return capacidadesDAO.obtenerRptQueryResponsables(obj);
	}

	public List<RptResponsableBusqueda> obtenerResponsableBusqueda(String vSql) {
		return 	capacidadesDAO.obtenerRptResponsables(vSql);
	}

	public String obtenerQueryParticipanteBusqueda(ParticipanteBusqueda obj) {
		return capacidadesDAO.ObtenerQueryParticipanteBusqueda(obj);
	}

	public String obtenerQueryCorreoMasivo(ParticipanteBusqueda obj, String dniUsuario) {
		return capacidadesDAO.obtenerQueryCorreoMasivo(obj, dniUsuario);
	}

	public String obtenerQueryParticipanteOficializar(ParticipanteBusqueda obj, String dniUsuario) {
		return capacidadesDAO.obtenerQueryParticipanteOficializar(obj, dniUsuario);
	}
	
	public List obtenerParticipanteBusqueda(String vSql) {
		return 	capacidadesDAO.ObtenerParticipanteBusqueda(vSql);
	}

	public List ObtenerParticipanteOficializar(String vSql) {
		return 	capacidadesDAO.ObtenerParticipanteOficializar(vSql);
	}

	public Test getTest(Integer idTest) {
		return 	capacidadesDAO.getTest(idTest) ;
	}

	public LinkedList<BancoPregunta> obtenerBancos()
	{
		return 	capacidadesDAO.obtenerBancoPreguntas();	
	}

	public Integer grabarTest(Test test) {
		return 	capacidadesDAO.grabarTest(test);	
	}
	
	public String obtenerRptQueryServicioCivil(ServicioCivilBusqueda obj){
		return capacidadesDAO.obtenerRptQueryServicioCivil(obj);
	}

	public List obtenerServicioCivilBusqueda(String vSql) {
		return 	capacidadesDAO.obtenerRptServicioCivil(vSql);
	}

	public Test obtenerTest(Integer idTest)
	{
		return 	capacidadesDAO.obtenerTest(idTest);
	}
	
	public void habilitarPrueba(Integer idTest)
	{
		capacidadesDAO.habilitarPrueba(idTest);
	}

	public void iniciarPrueba(Integer idTest)
	{
		capacidadesDAO.iniciarPrueba(idTest);
	}

	public String generarPrueba(Integer idTest)
	{
		return capacidadesDAO.generarPrueba(idTest);
	}

	public void calificarPrueba(Integer idTest)
	{
		capacidadesDAO.calificarPrueba(idTest);
	}

	public void informarPrueba(Integer idTest)
	{
		capacidadesDAO.informarPrueba(idTest);
	}
	public LinkedList<ExmPerfil> obtenerExmPerfiles(Integer idSistema)
	{
		return capacidadesDAO.obtenerExmPerfiles(idSistema);
	}
	
	public void eliminarCandidato(Integer idServicioCivil,String dniUsuario)
	{
		capacidadesDAO.eliminarCandidato(idServicioCivil, dniUsuario);
	}
	
	public void oficializarCandidatos(String vSqlOfi, String dniUsuario, Integer idTest)
	{
		capacidadesDAO.oficializarCandidatos(vSqlOfi, dniUsuario, idTest);
	}
	
	public void eliminarCandidatos(String vSqlOfi, String dniUsuario)
	{
		capacidadesDAO.eliminarCandidatos(vSqlOfi, dniUsuario);
	}
	
	public void eliminarParticipante(Integer idParticipante)
	{
		capacidadesDAO.eliminarParticipante(idParticipante);
	}

	public void eliminarDestinarioCorreo(Integer idServicioCivil, String dniUsuario)
	{
		capacidadesDAO.eliminarDestinarioCorreo(idServicioCivil, dniUsuario);
	}

	public void eliminarDestinariosCorreo(String desSql, String dniUsuario)
	{
		capacidadesDAO.eliminarDestinariosCorreo(desSql, dniUsuario);
	}
	
	public void confirmarDestinariosCorreo(String desSql, String dniUsuario)
	{
		capacidadesDAO.confirmarDestinariosCorreo(desSql, dniUsuario);
	}
	
	public CorreoMasivo getCorreoMasivo(String dniUsuario)
	{
		return capacidadesDAO.getCorreoMasivo(dniUsuario);
	}

	public void grabarCorreo(CorreoMasivo correo_masivo) {
		capacidadesDAO.grabarCorreo(correo_masivo);
	}

	public void grabarCorreoRegular(CorreoRegular correo) {
		capacidadesDAO.grabarCorreoRegular(correo);
	}
	
	public void ejecutarPrueba(Number id_correo_masivo)
	{
		capacidadesDAO.ejecutarPrueba(id_correo_masivo);
	}
	
	public void ejecutarPruebaCorreo(CorreoRegular correo, String correo_pruebas)
	{
		capacidadesDAO.ejecutarPruebaCorreo(correo, correo_pruebas);
	}

	public void ejecutarEnvio(Number id_correo_masivo, String dniUsuario)
	{
		capacidadesDAO.ejecutarEnvio(id_correo_masivo, dniUsuario);
	}

	@Override
	public void eliminarParticipantes(String lsql) {
		capacidadesDAO.eliminarParticipantes(lsql);
	}

	@Override
	public void ejecutarEnvioMasivo(String cod_tipo, String dniUsuario) {
		capacidadesDAO.ejecutarEnvioMasivo(cod_tipo, dniUsuario);
	}

	@Override
	public void informarPruebaPorCorreo(Integer idTest) {
		capacidadesDAO.informarPruebaPorCorreo(idTest);
	}
	
	@Override
	public void cerrarPrueba(Integer idTest) {
		capacidadesDAO.cerrarPrueba(idTest);
	}
	//Cheks
	@Override
	public void checkInicializarDeacHabilitar(Integer idTest)
	{
		capacidadesDAO.checkInicializarDeacHabilitar(idTest);
	}
	
	@Override
	public Boolean checkoficializar(Integer idTest)
	{
		return capacidadesDAO.checkoficializar(idTest);
	}
	@Override
	public Boolean ceckIniciarlizar(Integer idTest)
	{
		return capacidadesDAO.ceckIniciarlizar(idTest);
	}
	@Override
	public Boolean checkGenePruebas(Integer idTest)
	{		
		return capacidadesDAO.checkGenePruebas(idTest);
	}
	@Override
	public Boolean checkCalificar(Integer idTest)
	{		
		return capacidadesDAO.checkCalificar(idTest);
	}
	@Override
	public Boolean checkhabilitar(Integer idTest)
	{		
		return capacidadesDAO.checkhabilitar(idTest);
	}
	@Override
	public Boolean checkCerrar(Integer idTest)
	{		
		return capacidadesDAO.checkCerrar(idTest);
	}

}
